package com.market.cash.utils.helper

import com.market.cash.configs.CashRootConfigs
import com.market.cash.utils.SPUtils


/**
 * CashRoot
 * @Author wwdeng
 * @CreateTime: 2024/10/15 10:59
 * @Annotation：SharedPreferences 数据存取帮助类
 */
object SharedHelper {

    /**
     * SharedPreferences 保存 KEY
     */
    object CashRoot_SPKEY{

        /**
         * App 转发时区id Key
         */
        const val CASHROOT_TIMEZONE_ID = "${CashRootConfigs.CASHROOT_APPNAME}_TimeZone_Id"

        /**
         * App 转发时区 Key
         */
        const val CASHROOT_TIMEZONE = "${CashRootConfigs.CASHROOT_APPNAME}_TimeZone"
        
        /**
         * App 转发时区 区号  Key
         */
        const val CASHROOT_TIMEZONE_CODE = "${CashRootConfigs.CASHROOT_APPNAME}_TimeZone_Code"

        /**
         * App 转发时区 国家标识  Key
         */
        const val CASHROOT_TIMEZONE_COUNTRY = "${CashRootConfigs.CASHROOT_APPNAME}_TimeZone_Country"

        /**
         * 业务APP 配置请求
         */
        const val CASHROOT_COMMON = "${CashRootConfigs.CASHROOT_APPNAME}_Common"

        /**
         * 用户登录状态
         */
        const val CASHROOT_LOGIN = "${CashRootConfigs.CASHROOT_APPNAME}_isLogin"

        /**
         * 用户id（userId）
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val CASHROOT_USERID = "${CashRootConfigs.CASHROOT_APPNAME}_UserId"

        /**
         * 用户Token
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val CASHROOT_TOKEN = "${CashRootConfigs.CASHROOT_APPNAME}_Token"

        /**
         * 用户号码
         * 登录页面获取
         */
        const val CASHROOT_MOBILE = "${CashRootConfigs.CASHROOT_APPNAME}_Mobile"

        /**
         * 是否是渠道用户
         * 登录接口获取
         */
        const val CASHROOT_IS_ADSOURCE = "${CashRootConfigs.CASHROOT_APPNAME}_isAdSource"

        /**
         * 是否是审核账号
         * 登录时保存
         */
        const val CASHROOT_IS_CONFIG_ACCOUNT = "${CashRootConfigs.CASHROOT_APPNAME}_isConfigAccount"

        /**
         * 产品列表
         */
        const val CASHROOT_PRODUCT = "${CashRootConfigs.CASHROOT_APPNAME}_Product"

        /**
         * 用户流程状态
         */
        const val CASHROOT_PROCESS = "${CashRootConfigs.CASHROOT_APPNAME}_Process"

        /**
         * 坦桑地区，是否选择过语言
         */
        const val CASHROOT_TANZANIA_LANGUAGE = "${CashRootConfigs.CASHROOT_APPNAME}_Tanzania_Language"

        /**
         * 自定义数据
         */
        const val CASHROOT_CUSTOM_DATA = "${CashRootConfigs.CASHROOT_APPNAME}_Custom_Data"

        /**
         * Active Dialog Show Num
         */
        const val CASHROOT_DIALOG_ACTIVE_NUM = "${CashRootConfigs.CASHROOT_APPNAME}_Dialog_Active_Num"

        /**
         * Normal Dialog Show Num
         */
        const val CASHROOT_DIALOG_NORMAL_NUM = "${CashRootConfigs.CASHROOT_APPNAME}_Dialog_Normal_Num"

        /**
         *  guide dialog show
         */
        const val CASHROOT_DIALOG_GUIDE_SHOW = "${CashRootConfigs.CASHROOT_APPNAME}_Dialog_Guide"

        /**
         * 是否选择语言
         */
        const val CASHROOT_LANGUAGE_LAUNCH = "${CashRootConfigs.CASHROOT_APPNAME}_Launch_Language_Show"

        /**
         * Notice Dialog Show Num
         */
        const val CASHROOT_DIALOG_NOTICE_NUM = "${CashRootConfigs.CASHROOT_APPNAME}_Dialog_Notice_Num"

        /**
         * 启动时间
         */
        const val CASHROOT_APP_START_TIME = "${CashRootConfigs.CASHROOT_APPNAME}_App_StartTime"

        /**
         * 用户登录时间
         */
        const val CASHROOT_LOGIN_TIME = "${CashRootConfigs.CASHROOT_APPNAME}_LoginTime"

        /**
         * 用户VIP等级
         * 1    个产品 VIP1
         * 2-4  个产品 VIP2
         * > 4  个产品 VIP3
         */
        const val CASHROOT_VIP = "${CashRootConfigs.CASHROOT_APPNAME}_VIP"
    }

    /**
     * 保存数据
     */
    fun saveCashRootSPData(key: String,value: Any){
        SPUtils.put(key,value)
    }

    /**
     * 获取String
     */
    fun getCashRootSPString(key: String): String{
        return SPUtils.getString(key)
    }

    /**
     * 获取boolean
     */
    fun getCashRootSPBoolean(key: String): Boolean{
        return SPUtils.getBoolean(key,false)
    }

    /**
     * 获取Int
     */
    fun getCashRootSPInt(key: String): Int{
        return SPUtils.getInt(key,0)
    }



    /**
     * 移除指定内容
     */
    fun removeCashRootData(key: String){
        SPUtils.remove(key)
    }

    /**
     * 退出登录，移除用户信息
     */
    fun onCashRootLoginOut(){
        //移除已登录状态
        removeCashRootData(CashRoot_SPKEY.CASHROOT_LOGIN)
        //移除用户Token
        removeCashRootData(CashRoot_SPKEY.CASHROOT_TOKEN)
        //移除用户id
        removeCashRootData(CashRoot_SPKEY.CASHROOT_USERID)
        removeCashRootData(CashRoot_SPKEY.CASHROOT_MOBILE)
        removeCashRootData(CashRoot_SPKEY.CASHROOT_IS_ADSOURCE)
        removeCashRootData(CashRoot_SPKEY.CASHROOT_PROCESS)
        removeCashRootData(CashRoot_SPKEY.CASHROOT_CUSTOM_DATA)
        removeCashRootData(CashRoot_SPKEY.CASHROOT_TANZANIA_LANGUAGE)
    }
}